// for of 遍历循环是一种数据统一遍历方式（但是普通对象不能）
const arr = [1, 2, 3, 44, 7, 8, 9]

for (let item of arr) {
    console.log("item", item);
}

arr.forEach(item => {
    console.log("forItem", item);
})

for (let i of arr) {
    if (i > 5) {
        break //可终止循环
    }
}
// for of  :可在循环内跳出循环
// arr.forEach()   //不能跳出循环
// arr.some() //可跳出循环
// arr.every() //  判断跳出循环

const s = new Set(['foo', 'bar'])
for (let i of s) {
    console.log('setItem', i);
}

const newMap = new Map()
newMap.set('ssss', 'ssss')
newMap.set('aaaa', 'aaaa')

for (let [key, value] of newMap) {
    console.log('mapItem', key, value);
}

// 但是：for of 不可遍历普通对象,详见es2015_可迭代接口
const obj = { name: "xx", age: 20 }
for (let i of obj) {
    console.log('objItem', i); //obj is not iterable
}